//
//  XGRecommendTableViewController.m
//  BSBuDeJie
//
//  Created by monkey on 2018/12/11.
//  Copyright © 2018 itcast. All rights reserved.
//

#import <SVProgressHUD/SVProgressHUD.h>

#import "XGRecommendTableViewController.h"

#import "XGDataManager.h"

#import "XGNewsRecommendTagModel.h"

#import "XGRecommendTagTableViewCell.h"

/// cell重用标识符
static NSString *const reuseIdentifier = @"XGRecommendTableViewCell";

@interface XGRecommendTableViewController ()

/// 模型数据数组
@property (nonatomic,strong) NSArray<XGNewsRecommendTagModel *> *dataArray;

@end

@implementation XGRecommendTableViewController

#pragma mark - 控制器生命周期方法

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    self.navigationItem.title = @"热门推荐";
    
    // 加载数据
    [self loadData];
    // 设置tableView
    [self setUpTableView];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    
    // 退出提示
    [SVProgressHUD dismiss];
    // 取消网络请求
    [XGDataManager cancelRequest];
}

- (void)dealloc
{
    DEBUG_Log_Method;
}

#pragma mark - 其他方法

- (void)loadData
{
    [SVProgressHUD showWithStatus:@"正在加载数据"];
    [XGDataManager loadRecommendList:^(NSArray<XGNewsRecommendTagModel *> * _Nullable dataArray, NSError * _Nullable error) {
        [SVProgressHUD dismiss];
        if (error) {
            DEBUG_Log(@"加载推荐列表失败!");
            return;
        }
        
        self.dataArray = dataArray;
        [self.tableView reloadData];
    }];
}

- (void)setUpTableView
{
    // 注册cell
    [self.tableView registerClass:[XGRecommendTagTableViewCell class] forCellReuseIdentifier:reuseIdentifier];
    // 设置行高
    self.tableView.rowHeight = 70;
    // 取消分割线内边距
    self.tableView.separatorInset = UIEdgeInsetsZero;
}

#pragma mark - UITableViewDelegate, UITableViewDataSource

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.dataArray.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    XGRecommendTagTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
    cell.recommendTagModel = self.dataArray[indexPath.row];
    return cell;
}


@end
